Top 10k strings from Computer Studies - Visicode (1984)(Longman Software).tzx
in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TZX] (TOSEC-v2007-01-01) /
Back to the directory listing
4 3 in X to ACCUMULATOR"; 2 VISICODE 2 Do you want some examples ? Press 2 " 2 1 w$=z$+w$+z$: 1 X ZERO:GOING": 1 X NOT ZERO:NO GO ": 1 Visicode 1 VISICODE 1 REGISTER Y 1 REGISTER X 1 PUT X, PUT Y, ADD X ADD Y TAKE X TAKE Y CHECK, ZEROGO,NEGGO, GO, GOBACK,COUNT DOWN XZERO, END 1 PRODUCTS/CONTRACT BOOKS 1 M$=M$+" ": 1 INSTRUCTION OR 1 ILLEGAL INSTRUCION - CHECK CODES 1 I$(Q)=C$(CN,1 1 END c 1 Do you want them again? 1 ACCUMULATOR 1 A$="STUDIES": 1 A$="COMPUTER": 1 A$=" VISICODE ": 1 ;"used to store numbers." 1 ;"the calculations are done." 1 ;"as a simple counter." 1 ;"The sum is in the ACCUMULTOR.": 1 ;"The result is in the ACCUMULTOR.": 1 ;"The X and Y REGISTERS can be"; 1 ;"The X REGISTER can also be used"; 1 ;"The ACCUMULATOR is where all"; 1 ;"Put 6 in REGISTER X"; 1 ;"Put 3 in REGISTER X."; 1 ;"Put 255 in REGISTER X."; 1 ;"Put 128 in REGISTER X"; 1 ;"LONGMAN SOFTWARE 1 ;" " 1 ;" 1 ,"PUT Y,","99","ADD Y","","PUT Y,","22","TAKE Y","","END","" 1 ,"PUT Y,","32","ADD Y","","PUT Y,","5","TAKE Y","","COUNT","","CHECK,","4" 1 ,"PUT Y,","2","ADD Y","","CHECK,","12","ZEROGO,","3","GOBACK,","4","END","" 1 ,"PUT X,","5","PUT Y,","2","ADD Y","","DOWN","","XZERO,","3","GOBACK,","3","END","" 1 ,"PUT X,","3","ADD X","","PUT Y,","12","ADD Y","","END","" 1 ''" This program shows how machine"''" code can be used for simple"''" arithmetic and loops." 1 ''" The worst that can happen is"'" that it won't work - in which"'" case - check your codes and"'" start again." 1 ''" Plan out your program using"'" the HELP! page. Take particular" 1 '" Use the next section to key in"'" your program,then watch it run." 1 '" The HELP! page can be recalled"'" when keying in,without losing"'" any work already in." 1 '" For ease of use,VISICODE does"''" NOT use standard Z80 Assembler,"''" and the number of instructions"''" has been kept to the minimum." 1 "ZEROGO,","5","NEGGO,","3","GOBACK,","7","END","" 1 "You can add, or subtract a whole series of numbers. Keep PUTting numbers into a REGISTER and follow with an ADD or TAKE instruction." 1 "XZERO,n ","IF X=0 JUMP n PLACES","END "," STOP" 1 "When using any ""GO"" count from the ""GO"" to the target line. Include in the total ALL numbers and instructions to be jumped." 1 "Visicode" 1 "VISICODE" 1 "This program shows why ""proper"" Assembler needs so many different instructions. The 15 VISICODEs do not have the flexibility for anything more than simple division." 1 "TAKE X ","TAKE X number FROM ACC.","TAKE Y ","TAKE Y number FROM ACC." 1 "PUT X,n ","PUT n IN X REGISTER","PUT Y,n ","PUT n IN Y REGISTER" 1 "PUT X,","PUT Y,","ADD X","ADD Y","TAKE X","TAKE Y","CHECK,","ZEROGO,","NEGGO,","GO,","GOBACK,","COUNT","DOWN","XZERO,","END" 1 "NEGGO,N ","IF DIFF<0,JUMP n PLACES" 1 "In BASIC the X COUNTER would look like this: LET X=10 >>>> LET X=X-1 >>>>> IF X=0 THEN.... Note: ""XZERO"" is a ""GO"" instruction." 1 "GO,n ","JUMP n PLACES ON","GOBACK,n","JUMP n PLACES BACK" 1 "DOUBLE WIDTH" 1 "DOUBLE HEIGHT" 1 "COUNT ","ADD 1 TO number IN X","DOWN ","TAKE 1 FROM number IN X" 1 "CHECK,n ","DIFFERENCE (ACC.-n)...","ZEROGO,n","IF DIFF=0,JUMP n PLACES" 1 "ADD X ","ADD X number TO ACC.","ADD Y ","ADD Y number TO ACC." 1 "- SUBTRACTION -","","Use ADD to get","first number in","ACCUMULATOR.","TAKE subtracts","second number.","" 1 "*TIMES*TABLE*2*"," Shows loop &"," X as COUNTER.",""," GOBACK,3 loops"," to ADD Y line."," XZERO jumps"," on 5th DOWN." 1 "*TIMES*TABLE*1*"," Shows loop &"," CHECK on ACC.",""," GOBACK,4 loops"," to ADD Y line."," ZEROGO jumps "," if ACC.=12." 1 "","++ ADDITION ++",""," numbers PUT"," in X and Y"," ADDED in ACC.","","" 1 """PUT X,3"" stores 3 in REGISTER X. "" ADD X"" adds it to the 0 in the ACCUMULATOR. Either, or both, REGISTERS can be used in this way." 1 " care when calculating numbers"'" for ""GO""'s." 1 " / DIVISION /"," CHECK 4 and"," NEGGO used in"," case of uneven"," division."," Quotient in X."," Remainder in"," ACCUMULATOR." 1 to start work 1 to see this page again 1 to continue 1 shown on screen, press 1 n = Any number 1 in X from ACCUMULATOR"; 1 for Next 1 ZERO : GOING ": 1 YES?..."; 1 VISICODE INSTRUCTION SET 1 USING VISICODE 1 TO START 1 THE VISICODE MEMORIES " 1 Subtraction : 255-128=?" 1 PROGRAM READY - PRESS ANY KEY 1 PROGRAM READY 1 No more space!! Do you want to see if this works? 1 NOT ZERO:NO GO ": 1 NOT NEG: NO GO ": 1 NO INSTRUCTION 1 NEGATIVE: GOING ": 1 ILLEGAL JUMP. 1 EVERY INSTRUCTION & NUMBER 1 END OF PROGRAM 1 END OF EXAMPLE PROGRAM ";I;" 1 Do you want to write another? Press 1 Do you want to see them again? Press 1 DIFFERENCE=";D;" ": 1 Compares n with number in ACC. 1 CHECKING ACC.": 1 Another example? 1 Add 2 numbers : 3+6=? " 1 AT GIVEN PLACE 1 ACC.= ACCUMULATOR 1 1984 MERCURIAN PULP 1 ""H"" FOR 1 ""G"" TO GO ON 1 PROGRAM 1 / DIVISION / CHECK 4 and NEGGO used in case of uneven division. Quotient in X. Remainder in ACCUMULATOR. W 1 TAKES ONE ""PLACE"" 1 REGISTERS "; 1 SEARCHING AND LOADING 1 MEANING 1 "; 1 PLEASE WAIT " 1 "; 1 This program shows why "proper" Assembler needs so many different instructions. The 15 VISICODEs do not have the flexibility for anything more than simple division. 1 1